package com.xiaoyuanxing.demo.service;

import com.github.pagehelper.Page;
import com.xiaoyuanxing.demo.entity.Order;

import java.util.List;

/*
 **@author LuoShengYing
 **@date 2021/5/23
 */
public interface OrderService {

    // 通过订单IDs数组，查询Order数组
    Page<Order> getOrdersByIDs(List<Integer> orderIDs, int pageNum, int pageSize);

    // 通过订单ID，查询该订单的数据
    Order getOrderByID(int ID);

    // 通过创建人ID，查询与相关的订单ID数组
    Page<Order> getOrderIDsByCreatorID(long creatorID, int pageNum, int pageSize);


    // 通过处理人ID，查询与相关的订单ID数组
    Page<Order> getOrderIDsByTakerID(long takerID, int pageNum, int pageSize);

    /*
     * 通过订单状态status，查询对应的订单数据
     * -1为未接单， 0为已接单进行中， 1为已完成
     * */
    Page<Order> getOrdersByStatus(int status, int pageNum, int pageSize);

    // 新建订单
    void createNewOrder(Order order);

    // 更新订单处理人（有人接取了订单）
    boolean takeOrder(int orderID, long takerID);


    // 更新订单状态为 已完成
    boolean updateStatusAsFinish(int orderID);

    // 删除订单
    boolean deleteOrder(int orderID);
}
